package com.ctshk.rpc.bus.service;

import java.util.List;

import com.ctshk.common.dto.Result;
import com.ctshk.common.req.OperationByLikeReq;
import com.ctshk.rpc.bus.dto.es.BusStopsCacheCityDTO;
import com.ctshk.rpc.bus.dto.es.BusStopsCacheDTO;
import com.ctshk.rpc.bus.req.BusQueryReq;
import com.ctshk.rpc.bus.req.BusStopsDictListQueryReq;

/**
 * <p>
 * 巴士订单表 服务类
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-24
 */
public interface IBusProductAppService {

    /**
     * 热门路线 - 初始化
     * @return
     */
    Result busCacheInit();

    /**
     * 热门路线 - 查询
     * @return
     */
    Result hotLineQuery(String cityName);

    /**
     * 巴士首页路线查询
     * @param req
     * @return
     */
    Result lineQuery(BusQueryReq req);

    /**
     * 巴士首页到达城市查询
     * @param req
     * @return
     */
    Result arriveCityQuery(BusQueryReq req);

    /**
     *
     * @return
     */
    Result busCacheUpdateByTime();

    /**
     *
     * @param ids
     * @return
     */
    Result busCacheUpdateById(List<Long> ids);

    /**
     * 同步站点主数据
     * @return
     */
    Result<Void> synStopsData();
    
    /**
     * 查询缓存站点主数据列表
     */
    Result<List<BusStopsCacheDTO>> queryCacheStopsList(BusStopsDictListQueryReq req);
    
    /**
     * 查询缓存城市主数据列表
     */
    Result<List<BusStopsCacheCityDTO>> queryCacheCityList(OperationByLikeReq req);
}
